package com.ganyu.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.ganyu.domain.entity.Menu;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 菜单权限表(Menu)表数据库访问层
 *
 * @author chenxi
 * @since 2022-09-28 09:57:56
 */
@Mapper
public interface MenuMapper extends BaseMapper<Menu> {
    //根据menu_id查询pers
    String getPerById(@Param("id") Long id);
    //permissions中需要有所有菜单类型为C或者F的，状态为正常的，未被删除的权限
    List<String> getPermsList();
    //如果用户id为1代表管理员，menus中需要有所有菜单类型为C或者M的，状态为正常的，未被删除的权限
    List<Menu> getMenuType(@Param("id") Long id);
    //查找子菜单
    List<Menu> getChildrens(@Param("id") Long id);
    //查找子菜单
    List<Menu> getChildrenList(@Param("id") Long id);
    //根据menu_id查询pers
    String getMenuTypeById(@Param("id") Long id);
    //单个查找parent_id为0的
    Menu getParentId(@Param("id") Long id);
    //查找parent_id的父级为0的子菜单
    List<Menu> getChildren(@Param("id") Long id);
    //获取菜单
    List<Menu> getMenuList(@Param("menuName") String menuName,@Param("status") String status);
    //修改菜单
    void updateMenu(Menu menu);
    //查找子菜单
    List<Menu> selectChildMenu(@Param("menuId") Long menuId);
    //删除菜单
    void deleteMenu(@Param("menuId") Long menuId);
    //查找menu
    Menu selectMenu(@Param("id")Long id);
}

